package tools;
import java.io.File;

import javax.swing.filechooser.FileFilter;

import org.uc3m.ed.interfaz_grafica.ventana.VentanaPrincipal;


public class FiltroFicheros extends FileFilter{
   
	/**
	 * 
	 */
	private String _descripcion;
	
	/**
	 * 
	 */
	private String _extension;
 
   // contructor a partir de la descripvi�n y la extensi�n aceptada
	/**
	 * @param description
	 * @param extension
	 */
	public FiltroFicheros(String description, String extension){
	   try{
	      if(description == null || extension ==null){
	    	  VentanaPrincipal.getConsola().escribirTextoError("CLASS::Arbol_Binario::FiltroFicheros ERROR::1\n   No se puede introducir un valor null");
	      }
	      _descripcion = description;
	      _extension = extension;
	   }catch(Exception e){
			VentanaPrincipal.getConsola().escribirTextoError("CLASS::Arbol_Binario::FiltroFicheros ERROR::2::"+e.toString()+"\n",e.getStackTrace());
		}catch(Error e){
			VentanaPrincipal.getConsola().escribirTextoError("CLASS::Arbol_Binario::FiltroFicheros ERROR::3::"+e.toString()+"\n",e.getStackTrace());
		}
	}
 
   
	/* (non-Javadoc)
	 * @see javax.swing.filechooser.FileFilter#accept(java.io.File)
	 */
	public boolean accept(File file){
	   try{
	      if(file.isDirectory()) { 
	         return true; 
	      } 
	      String nombreFichero = file.getName().toLowerCase(); 
	      return nombreFichero.endsWith(_extension);
	   }catch(Exception e){
			VentanaPrincipal.getConsola().escribirTextoError("CLASS::Arbol_Binario::FiltroFicheros ERROR::4::"+e.toString()+"\n",e.getStackTrace());
		}catch(Error e){
			VentanaPrincipal.getConsola().escribirTextoError("CLASS::Arbol_Binario::FiltroFicheros ERROR::5::"+e.toString()+"\n",e.getStackTrace());
		}
		return false;
   }
   
	/* (non-Javadoc)
	 * @see javax.swing.filechooser.FileFilter#getDescription()
	 */
	public String getDescription(){
      return _descripcion;
	}


}
